home *** CD-ROM | disk | FTP | other *** search
- GOTHIK IGM Documentation
- (C) Copyright 1996 Dan Shaurette
- ================================
-
- What is an IGM?
- ---------------
- An IGM is an In Game Module, and is essentially a game inside a game. I
- first encountered the idea with Seth Able's legendary Legend Of The Red
- Dragon. He set aside a section of his game to run other games, which use the
- same player database as L.O.R.D., and he released the Pascal data structure
- used to access that database into the public domain. Since then, LORD has
- become a very popular BBS door because of the wide variety of IGMs that exist
- now.
- I want GOTHIK to allow the same creativity to emerge from others, so I
- added the same capability to it. And, to go one step further, I not only am
- releasing the structure (see below), but the source code to the first IGM
- written for GOTHIK, The Blue Moon Tavern, as well.
-
-
- What IGMs currently exist for GOTHIK?
- -------------------------------------
- Currently, the Blue Moon Tavern is the only IGM written. I wrote it and am
- making the source code available to everyone (that knows C or could convert it
- to whatever language you prefer.) You may disect the source as you see fit,
- producing new and different programs. You may make other, better tavern IGMs,
- but please, don't rerelease different Blue Moon Taverns.
-
-
- How do I setup an IGM?
- ----------------------
- GOTHIK has a file called "3RDPARTY.DAT" which it reads to determine what
- IGMs exist for it to run. The structure is simple and is as follows:
-
- ;Third Party data file for GOTHIK IGMs
- ;=====================================
- ;The lines need to be paired in threes as follows:
- ;The first line determines who can play: 0=Human, 1=Vamp, 2=Both
- ;The second line is the string that is displayed to the player
- ;The third line is the full path and filename of IGM to run (with parameters)
- ;example:
- ;2
- ;Malcolm's CASINO
- ;C:\RENEGADE\GOTHIK\CASINO\CASINO.EXE
- 2
- The Blue Moon Tavern
- C:\GOTHIK\BlueMoon.BAT
-
-
- How do I write my own IGM?
- --------------------------
- Three files are at your disposal for your IGM to take advantage of.
- The first is the drop file that GOTHIK used to gather info about the
- player, you can read it for the same reason.
- Second, there is a file called "INPLAY.DAT" that has two purposes. The
- first is to let other nodes that want to run GOTHIK know that someone else is
- playing it now and that they can't. It's other purpose is that it holds a
- number, the record number of the player. This record number is the index into
- "GOTHIK.PLR", which is the third file you can use.
- "GOTHIK.PLR" is the database of GOTHIK's players. What follows is the C
- data structure that forms the records in "GOTHIK.PLR":
-
- struct PlayerData { //// This is the structure found in "GOTHIK.PLR".
- char name[36]; ////// The player's handle/real name from drop file.
- char gameName[26]; // The player's handle inside GOTHIK.
- char sex; /////////// Their sex, 'M' or 'F'.
- char fluff1; //////// Alignment fluff (ignore).
- char lastOn[9]; ///// Date the player played last in "mm-dd-yy" format.
- char fluff2; //////// More alignment fluff.
- char birthdate[9]; // Player's Birthdate in "mm-dd-yy" format.
- char fluff3; //////// Last piece of fluff.
- char attacked[26]; // gameName of who attacked player,"~" if not attacked.
-
- short int level; /// Player's level (1 to 13).
- short int exp; ///// Player's experience points.
- short int mortal; // 0 = Human, 1 = Vampire.
- short int rating; // 2 = LEWD, 1 = RUDE, 0 = PRUDE.
- short int timesOn; ////// Number of times the player played today.
- short int HP; /////////// Player's Hit Points left.
- short int maxHP; //////// Maximum amount of HP.
- short int moves; //////// Moves left to make.
- short int maxMoves; ///// Maximum amount of moves.
- short int weapon; /////// Weapon type owned by the player.
- short int weaponPlus; /// A modifier to the weapon.
- short int ammo; ///////// Ammunition type owned by the player.
- short int ammoPlus; ///// A modifier to the ammo.
- short int ammoAmount; /// Amount of ammunition remaining.
- short int defense; ////// Type of ward that the player has (if Human).
- short int defensePlus; // Modifier to the ward.
-
- short int Str, Int, Wis, Dex, Con, Cha; // D&D style characteristics.
- short int Willpower, Humanity, Thirst; /// New-style characteristics.
- short int Faith, Inginuity;
-
- long inBank; ///////////// The amount of cash the player has in the bank.
- long onHand; ///////////// The amount of cash the player has on hand.
- };
-
-
- If you have any other questions, feel free to contact me at:
-
- Dan Shaurette
- 9201 N. 29th Ave. #63-231
- Phoenix, AZ 85051
-
- or through Internet Email at: dshauret@indirect.com
-